var AutoAlarmHistory =function(){
	return {
		//初始化表格
		initTable : function(){
			$('#autoAlarmTable').bootstrapTable({
	            url: ctx +'/equipment/data/alarm/listAuto/get.mvc',         //请求后台的URL（*）
	            method: 'get',                      //请求方式（*）
	            striped: true,                      //是否显示行间隔色
	            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
	            pagination: true,                   //是否显示分页（*）
	            paginationLoop:false,
	            sortable: true,                     //是否启用排序
	            sortOrder: "asc",                   //排序方式
	            queryParams: AutoAlarmHistory.queryParams,//传递参数（*）
	            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
	            pageNumber:1,                       //初始化加载第一页，默认第一页
	            pageSize: 10,                       //每页的记录行数（*）
	            pageList: [10, 25, 50, 100],        //可供选择的每页的行数（*）
	            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
	            strictSearch: true,
	            showColumns: false,                  //是否显示所有的列
	            showRefresh: false,                  //是否显示刷新按钮
	            minimumCountColumns: 2,             //最少允许的列数
	            clickToSelect: true,                //是否启用点击选中行
	            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
	            uniqueId: "pkId",                     //每一行的唯一标识，一般为主键列
	            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
	            cardView: false,                    //是否显示详细视图
	            detailView: false,                   //是否显示父子表
	            singleSelect:false,                    //禁止多选
	            checkboxHeader:true,                 //列头取消多选
	            
	            columns: [
	            
	            {
	            	title: '序号',
	            	align : 'center',
	                valign : 'middle',
	                formatter : function (value, row, index){
	                	var options = $('#autoAlarmTable').bootstrapTable('getOptions');  
	                    return options.pageSize * (options.pageNumber - 1) + index + 1;  
	                }
	            },
	            {
	                field: 'modelCode',
	                title: '类别编号',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	                
	            }, {
	                field: 'equipmentCode',
	                title: '设备编号',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            }, {
	                field: 'operationName',
	                title: '工序',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'equipmentName',
	                title: '设备名称',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'paramName',
	                title: '告警参数',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	            },{
	                field: 'count',
	                title: '告警次数',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	                formatter : function(value ,row ,index){
	                	return '共发生'+value+'次告警';
	                }
	            },{
	                field: 'address',
	                title: '详情',
	                sortable:false,
	                align : 'center',
	                valign : 'middle',
	                formatter : function(value,row,index){
				var equipCode = row.equipmentCode;
	                	var paramCode = row.paramCode;
	                	return '<a href="javascript:;" data-equipCode="'+equipCode+'" data-paramCode="'+paramCode+'" class="no-padding alarmDetail">查看</a>';
	               
			 }
	            }],

	        });
		},
		
        //获取30天的时间间隔
		getMonthDate : function(){
			 var timeStamp = new Date(new Date().setHours(0, 0, 0, 0));
			$('.form_datetimeStart').val(new Date(timeStamp- 24*60*60*1000).format('yyyy-MM-dd hh:mm:ss'));
			$('.form_datetimeEnd').val(new Date(timeStamp- 24*60*60*1000+23*60*60*1000 + 55*60*1000+55*1000).format('yyyy-MM-dd hh:mm:ss'));
			$('.form_datetimeStart').datetimepicker({
				format : 'yyyy-mm-dd hh:ii:ss',
				language : 'zh-CN',
				pickerPosition: "bottom-left",
				endDate : new Date(),
				forceParse : true
			}).on('changeDate', function(ev) {
				var begin = new Date($('.form_datetimeStart').val());
				var endTime = new Date($('.form_datetimeStart').val());
				var nextmonth = SystemCommon.getNextMonth(begin);
				var begintime = new Date(nextmonth);
				$('.form_datetimeEnd').datetimepicker('setStartDate',endTime);
				$('.form_datetimeEnd').datetimepicker('setEndDate',begintime);
			});
			$('.form_datetimeEnd').datetimepicker({
				format : 'yyyy-mm-dd hh:ii:ss',
				language : 'zh-CN',
				pickerPosition: "bottom-left",
				endDate : new Date(),
				forceParse : true
			}).on('changeDate', function(ev) {
				var begin = new Date($('.form_datetimeEnd').val());
				var endTime = new Date($('.form_datetimeEnd').val());
				var lastmonth = SystemCommon.getlastmonth(begin);
				var begintime = new Date(lastmonth);
				$('.form_datetimeStart').datetimepicker('setStartDate',begintime);
				$('.form_datetimeStart').datetimepicker('setEndDate',endTime);
			});
		},
		queryParams : function (params) {
	        var temp = {   // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
	        	size: params.limit,   // 页面大小
	        	num: (params.offset/params.limit) + 1,  // 页码
	        	sort: params.sort,
	        	order: params.order,
	        	code : $(".eqCode").val(),
	        	name : $(".eqName").val(),
	        	startTime:$("#accessTimeStart").val(),
	        	endTime:$("#accessTimeEnd").val(),
	        	paramCode:$(".option").val()
	        	
	        };
	        return temp;
	    },
	    //告警历史详情
	    toDetail : function(){
	    	//绑定点击事件
	    	$("#autoAlarmTable").on("click",".alarmDetail",function(){
	    		debugger;
	    		var equipCode =$(this).data("equipcode");
	    		var paramCode =$(this).data("paramcode");
	    		var startTime=$("#accessTimeStart").val();
	    		var endTime=$("#accessTimeEnd").val();
	    		var url =ctx + "/equipment/data/alarm/detail/index?equipCode="+equipCode+"&paramCode="+paramCode+"&startTime="+startTime+"&endTime="+endTime;
	    		window.location.href=url;
	    	});
	    },
	    listParam : function(){
	    	
	    	$('.option').select2({
				  ajax: {
				    url: ctx +'/equipment/param/listAlaramParams/get.mvc',
				    dataType: 'json',
				    data: function (params) {
				        var query = {
				          search: params.term,
				          page: params.page || 1,
				          size:10,
				          equipCode:$(".eqCode").val()
				        };
				        // Query parameters will be ?search=[term]&page=[page]
				        return query;
				    },
				    processResults: function (data) {
				        // Tranforms the top-level key of the response object from 'items' to 'results'
				    	if(!data.result){
				    		DialogUtil.warning(data.message);
				    		return;
				    	}
				    	
				    	var test =new Array();
				    	for ( var int = 0; int < data.data.message.length; int++) {
							var obj=new Object();
							obj.id=data.data.message[int].paramCode;
							obj.text=data.data.message[int].paramName;
							test.push(obj);
						}
				    	var result = {
				    		results: test,
				    		pagination :{
				    			more:data.data.result
				    		}
				    	};
				        return result;
				      },
				    // Additional AJAX parameters go here; see the end of this chapter for the full code of this example
				      cache: true
				    
				  },
				  placeholder: '请选择',
				  language: "zh-CN",
				  escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
				  minimumInputLength: 0,
			});
	    	/*$.ajax({
				url: ctx +'/equipment/param/listModelParams/get.mvc',
			    type:"post", 
			    aysnc: true,
			    dataType:'json',
			    data : '',
			    success : function(data){
		    		for (var i = 0; i < data.length; i++) {
		    			 if ( i === 0 ) {
		    				$(".option").append("<option value=''>所有</option>");
		    			 }
			    		 $(".option").append("<option value='"+data[i].pkId+"' >" + data[i].paramName + "</option>");
			    	 };
			    },
			    error: function(XMLHttpRequest, textStatus, errorThrown){
			    	console.log(data);
			    	alert("系统错误");
			    }
			});*/
	    },
	    //查询
	    query : function(){
	    	$("#queryAlarmHistory").on("click",function(){
	    		//两个日期
	    		var startTime = new Date($('.form_datetimeStart').val());
	    		var endTime = new Date($('.form_datetimeEnd').val());
	    		var day = (endTime.getTime() - startTime.getTime())/(24*60*60*1000);
	    		if (day>30) {
	    			DialogUtil.warning("日期选择范围只能为30天之内");
	    			return false;
	    		}
	    		$('#autoAlarmTable').bootstrapTable('refresh'); 
	    	});
	    },
	    //重置
	    reset : function(){
	    	$(".reset").on("click",function(){
	    		$(".clearfix input").val("");
	    		$('.form_datetimeStart').val(new Date(new Date().getTime() - 24*60*60*1000).format('yyyy-MM-dd hh:mm:ss'));
				$('.form_datetimeEnd').val(new Date().format('yyyy-MM-dd hh:mm:ss'));
//	    		$(".option option:first").prop("selected", true);
	    		$(".queryEquipment").empty();
			$('.option').val(null).trigger("change");
	    	});
	    },
	    //刷新
	    flush : function(){
	    	$(".shuaxin").on("click",function(){
	    		$('#autoAlarmTable').bootstrapTable('refresh');
	    	})
	    },
	    //按键触发查询
		keyQuery : function(){
			$(".query").keypress(function (e) {
	            if (e.which == 13) {
	                $("#queryAlarmHistory").trigger("click");
	            }
	        });
		},
		//导出
		doExport : function() {
			$("#exportHistory").on("click","",function(){
				window.location.href = ctx+"/equipment/data/exportHistory/export.mvc?code=" + $(".eqCode").val()
						+ "&&name=" + $(".eqName").val()
						+ "&&paramCode=" + $(".option").val()
						+ "&&startTime=" + $(".form_datetimeStart").val()
						+ "&&endTime=" + $(".form_datetimeEnd").val();
			});
		},
		//修改设备编号--带出对应的设备名称
		changeEquipment : function(){
			$(".queryEquipment").on("select2:select",function(){ 
				$.ajax({
					url: ctx +'/equipment/register/getEquipmentByEquipId/get.mvc',
				    type:"post", 
				    dataType:'json',
				    data: {
				    	equipCode : $(".queryEquipment").val()
				    },
				    success : function(data){
				    	debugger;
				    	$(".eqName").val(data.equipName);
				    },
				    error: function(XMLHttpRequest, textStatus, errorThrown){
				    	alert("系统错误");
				    }
				});
	        }); 
		}
		
		
	};
}();

jQuery(document).ready(function() {
	SystemCommon.getQueryEquipCode();
	AutoAlarmHistory.getMonthDate();
	
	//1.初始化Table
	AutoAlarmHistory.query();
	AutoAlarmHistory.reset();
	AutoAlarmHistory.keyQuery();
	AutoAlarmHistory.doExport();
	AutoAlarmHistory.toDetail();
	AutoAlarmHistory.listParam();
	AutoAlarmHistory.changeEquipment();
	AutoAlarmHistory.initTable();
	AutoAlarmHistory.flush();
	

});